/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.inventario.controller;

import br.com.inventario.Inventario;
import br.com.inventario.dao.IInventarioDAO;
import br.com.inventario.dao.InventarioDAO;
import br.com.inventario.dao.InventarioDAOException;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

/**
 *
 * @author lucas
 */
public class InventarioController {
    private DataModel <Inventario> model;
    private Inventario objInventario = new Inventario();

    public InventarioController() {
    }

    public DataModel<Inventario> getListaInventario()
            throws InventarioDAOException {
        IInventarioDAO idao = new InventarioDAO();
        setModel((DataModel<Inventario>) new ListDataModel(idao.select()));
        return getModel();
    }

    /**
     * @return the model
     */
    public DataModel getModel() {
        return model;
    }

    /**
     * @param model the model to set
     */
    public void setModel(DataModel model) {
        this.model = model;
    }

    /**
     * @return the objInventario
     */
    public Inventario getObjInventario() {
        return objInventario;
    }

    /**
     * @param objInventario the objInventario to set
     */
    public void setObjInventario(Inventario objInventario) {
        this.objInventario = objInventario;
    }
    
    public Inventario getInventarioFromEditOrDelete(){
        Inventario inventario = (Inventario)model.getRowData();
        return inventario;
    }
    
    public String excluirAtivo() throws InventarioDAOException{
        IInventarioDAO idao = new InventarioDAO();
        Inventario inventario = getInventarioFromEditOrDelete();
        idao.excluirAtivo(inventario);
        return "sucesso_exclusão";
    }
     public String venderAtivo() throws InventarioDAOException{
        IInventarioDAO idao = new InventarioDAO();
        Inventario inventario = getInventarioFromEditOrDelete();
        idao.venderAtivo(inventario);
        return "sucesso_venda";
    }
    

    public String gravarAlteracaoAtivo() throws InventarioDAOException{
        IInventarioDAO idao = new InventarioDAO();
        idao.alterarAtivo(objInventario);
        return "sucesso_alterar_ativo";
    }
     public String alterarAtivo() throws InventarioDAOException{
        setObjInventario(getInventarioFromEditOrDelete());
        return "alterar_ativo";
    }
     
    public String criarNovoItem(){
        this.objInventario = new Inventario();
        return "adicionar_ativo";
    }
    
    public String gravarNovoItem() throws InventarioDAOException{
        IInventarioDAO idao = new InventarioDAO();
        idao.gravarItem(objInventario);
        return "novo_item_gravado";
    }
}
